/**
 * <copyright>
 * </copyright>
 *
 * $Id: MBeanServer.java,v 1.2 2008/11/13 05:52:56 song Exp $
 */
package cn.edu.pku.sei.ra.wrapping.JOnAS;

import cn.edu.pku.sei.ra.wrapping.CommonWrapping.WrappingEObject;
import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>MBean Server</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getServerHost <em>Server Host</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getServerPort <em>Server Port</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getJdbcDataSource <em>Jdbc Data Source</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getStatefulSessionBean <em>Stateful Session Bean</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getStatelessSessionBean <em>Stateless Session Bean</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getEntityBean <em>Entity Bean</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getJvm <em>Jvm</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getWebModule <em>Web Module</em>}</li>
 * </ul>
 * </p>
 *
 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getMBeanServer()
 * @model annotation="http://www.sei.pku.edu.cn/rsa RootClass='true'"
 * @generated
 */
public interface MBeanServer extends WrappingEObject {
	/**
	 * Returns the value of the '<em><b>Server Host</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Server Host</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Server Host</em>' attribute.
	 * @see #setServerHost(String)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getMBeanServer_ServerHost()
	 * @model required="true"
	 *        annotation="http:///jp.ac.u_tokyo.wrapper.AttributeAnnotations KeyAttribute='true'"
	 * @generated
	 */
	String getServerHost();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getServerHost <em>Server Host</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Server Host</em>' attribute.
	 * @see #getServerHost()
	 * @generated
	 */
	void setServerHost(String value);

	/**
	 * Returns the value of the '<em><b>Server Port</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Server Port</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Server Port</em>' attribute.
	 * @see #setServerPort(int)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getMBeanServer_ServerPort()
	 * @model required="true"
	 * @generated
	 */
	int getServerPort();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getServerPort <em>Server Port</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Server Port</em>' attribute.
	 * @see #getServerPort()
	 * @generated
	 */
	void setServerPort(int value);

	/**
	 * Returns the value of the '<em><b>Jdbc Data Source</b></em>' containment reference list.
	 * The list contents are of type {@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource}.
	 * It is bidirectional and its opposite is '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getParent <em>Parent</em>}'.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Jdbc Data Source</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Jdbc Data Source</em>' containment reference list.
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getMBeanServer_JdbcDataSource()
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getParent
	 * @model opposite="parent" containment="true" ordered="false"
	 * @generated
	 */
	EList<JDBCDataSource> getJdbcDataSource();

	/**
	 * Returns the value of the '<em><b>Stateful Session Bean</b></em>' containment reference list.
	 * The list contents are of type {@link cn.edu.pku.sei.ra.wrapping.JOnAS.StatefulSessionBean}.
	 * It is bidirectional and its opposite is '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.StatefulSessionBean#getParent <em>Parent</em>}'.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Stateful Session Bean</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Stateful Session Bean</em>' containment reference list.
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getMBeanServer_StatefulSessionBean()
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.StatefulSessionBean#getParent
	 * @model opposite="parent" containment="true" ordered="false"
	 * @generated
	 */
	EList<StatefulSessionBean> getStatefulSessionBean();

	/**
	 * Returns the value of the '<em><b>Stateless Session Bean</b></em>' containment reference list.
	 * The list contents are of type {@link cn.edu.pku.sei.ra.wrapping.JOnAS.StatelessSessionBean}.
	 * It is bidirectional and its opposite is '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.StatelessSessionBean#getParent <em>Parent</em>}'.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Stateless Session Bean</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Stateless Session Bean</em>' containment reference list.
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getMBeanServer_StatelessSessionBean()
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.StatelessSessionBean#getParent
	 * @model opposite="parent" containment="true" ordered="false"
	 * @generated
	 */
	EList<StatelessSessionBean> getStatelessSessionBean();

	/**
	 * Returns the value of the '<em><b>Entity Bean</b></em>' containment reference list.
	 * The list contents are of type {@link cn.edu.pku.sei.ra.wrapping.JOnAS.EntityBean}.
	 * It is bidirectional and its opposite is '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.EntityBean#getParent <em>Parent</em>}'.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Entity Bean</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Entity Bean</em>' containment reference list.
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getMBeanServer_EntityBean()
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.EntityBean#getParent
	 * @model opposite="parent" containment="true" ordered="false"
	 * @generated
	 */
	EList<EntityBean> getEntityBean();

	/**
	 * Returns the value of the '<em><b>Jvm</b></em>' containment reference list.
	 * The list contents are of type {@link cn.edu.pku.sei.ra.wrapping.JOnAS.JVM}.
	 * It is bidirectional and its opposite is '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JVM#getParent <em>Parent</em>}'.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Jvm</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Jvm</em>' containment reference list.
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getMBeanServer_Jvm()
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JVM#getParent
	 * @model opposite="parent" containment="true" ordered="false"
	 * @generated
	 */
	EList<JVM> getJvm();

	/**
	 * Returns the value of the '<em><b>Web Module</b></em>' containment reference list.
	 * The list contents are of type {@link cn.edu.pku.sei.ra.wrapping.JOnAS.WebModule}.
	 * It is bidirectional and its opposite is '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.WebModule#getParent <em>Parent</em>}'.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Web Module</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Web Module</em>' containment reference list.
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getMBeanServer_WebModule()
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.WebModule#getParent
	 * @model opposite="parent" containment="true" ordered="false"
	 * @generated
	 */
	EList<WebModule> getWebModule();

} // MBeanServer
